package com.matt.service.courseV2;

import com.matt.domain.courseV2.*;
import com.matt.commons.page.PagerQuery;
import org.springframework.data.domain.Page;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
import java.util.Map;

public interface VendorCourseService {

    VendorCourse getVendorCourse(String courseId);

    VendorCourse addVendorCourse(String title, String author, String content, String attachments, String tools , String persistentTemplateId, int indexInPackage, String tags, String dimensions, String guideVideo );

    Page<VendorCourse> getVendorList(String name, PagerQuery pagerQuery);

    Page<VendorCourse> packageIdByCourseList(String packageId, PagerQuery pagerQuery);

    Page<VendorCourse> packageIdInCourseList(List<String> packageIds,PagerQuery pagerQuery);

    Page<VendorCourse> courseListV2(String title,String age,String week,String face,Integer type, PagerQuery pagerQuery);

    Map list(String packageId, String title, String sort, String age, PagerQuery pagerQuery);

    void addAll( List<VendorCourseRel> vendorCourseRelList);

    void importTemplate(MultipartFile file) throws Exception;

    String addScheduleRel(String vendorCourseId,String scheduleRecordId);

    Page<VendorCourse> getClassVendor(String classId, PagerQuery pagerQuery);

    List<VendorCourseContent> findByCourseId(String courseId);

    List<VendorCourseContent> findByCourseId(String courseId,Integer detailsType);

    List<VendorCourseContent> findByVendorPackageId(String vendorPackageId);

    List<VendorCourseContent> findVendorPackageId(String courseId );

    List<VendorTimeContent> findByVendorPackageIdTimeContent(String vendorPackageId);

    List<CourseAppendix> courseAppendix();

}
